package dto

import "time"

// AdminQueryBuildCondition 管理员查询楼栋时的条件
type AdminQueryBuildCondition struct {
	BuildName     string `json:"build_name"`                          //楼栋名称 (楼栋号)
	LockStartTime string `json:"lock_start_time"`                     //楼栋锁定开始时间
	LockEndTime   string `json:"lock_end_time"`                       //楼栋锁定结束时间
	PageNo        int    `json:"page_no" binding:"required"`          //当前页
	PageSize      int    `json:"page_size" binding:"required"`        //每页显示条数
	BuildStatus   int    `json:"build_status" binding:"oneof=0 -1 1"` //楼栋状态 0关闭 1正常 -1表示查询所有状态
}

// NewBuildInformation 管理员新增楼栋时的信息
type NewBuildInformation struct {
	Name           string  `json:"name" binding:"required"`             //教学楼名称
	HeadImg        string  `json:"head_img"`                            //楼栋图片
	LockStartTime  string  `json:"lock_start_time"`                     //楼栋锁定开始时间
	LockEndTime    string  `json:"lock_end_time"`                       //楼栋锁定结束时间
	CampusName     string  `json:"campus_name"`                         //校区名称
	Longitude      float64 `json:"longitude" binding:"required"`        //经度
	Latitude       float64 `json:"latitude" binding:"required"`         //纬度
	BuildingStatus int     `json:"building_status" binding:"oneof=0 1"` //状态
}

// UpdateBuildParams 修改楼栋信息时的请求参数
type UpdateBuildParams struct {
	Name           string  `json:"name"`                                //教学楼名称
	LockStartTime  string  `json:"lock_start_time"`                     //楼栋锁定开始时间
	LockEndTime    string  `json:"lock_end_time"`                       //楼栋锁定结束时间
	HeadImg        string  `json:"head_img"`                            //楼栋图片
	CampusId       uint    `json:"campus_id"`                           //所属校区id
	BuildingStatus int     `json:"building_status" binding:"oneof=0 1"` //状态
	BuildId        int     `json:"build_id" binding:"required"`         //楼栋id
	Longitude      float64 `json:"longitude"`                           //经度
	Latitude       float64 `json:"latitude"`                            //纬度

}

// DeleteIds 批量删除是楼栋的id
type DeleteIds struct {
	BuildIds []int `json:"build_ids"` //楼栋id
}

type BuildInformation struct {
	ID             int        `json:"id"`              //楼栋id
	BuildingStatus int        `json:"building_status"` //楼栋状态
	CreatedAt      *time.Time `json:"created_at"`      //楼栋创建时间
	CampusId       int        `json:"campus_id"`       //校区id
	Name           string     `json:"name"`            //楼栋名称
	CampusName     string     `json:"campus_name"`     //校区名称
	HeadImg        string     `json:"head_img"`        //楼栋图片
	LockStartTime  *time.Time `json:"lock_start_time"` //楼栋锁定开始时间
	LockEndTime    *time.Time `json:"lock_end_time"`   //楼栋锁定结束时间
	Longitude      float64    `json:"longitude"`       //经度
	Latitude       float64    `json:"latitude"`        //纬度
}
